package _24_beiwanglu_pattern.v6_0_better_Packagability;

/**
 * @Description: 拥有更好的封装性
 * @Auther: 2019/6/9 0:54 by zhang.jy
 */
public class Client {
     public static void main(String[] args) {
             //定义出发起人
             Originator ori = new Originator();
             //定义出备忘录管理员
             Caretaker caretaker = new Caretaker();
             //初始化
             ori.setState("中国");
             System.out.println("===初始化状态===\n"+ori);
             //创建一个备忘录
             caretaker.setMemento(ori.createMemento());
             //修改状态值
             ori.setState("软件");
             System.out.println("\n===修改后状态===\n"+ori);
             //恢复一个备忘录
             ori.restoreMemento(caretaker.getMemento());
             System.out.println("\n===恢复后状态===\n"+ori);

             IMemento memento = caretaker.getMemento();
             //memento这个接口什么方法都没有提供,有更好的封装性
     }
}